#ifndef MODELNODE_H
#define MODELNODE_H

#include <osg/ref_ptr>
#include <osg/Node>
#include <osg/Material>
#include <osg/MatrixTransform>

namespace HIM {
class ModelNode
{
public:
    ModelNode(osg::Node *);
    osg::ref_ptr<osg::MatrixTransform> getModel(){return tr_.get();};
    osg::Vec3 getModelPosition(){return modelPosition;};
    float getModelSize(){return modelSize;};

    void setModelTransparency(float transparency);
    void moveModel(float x,float y,float z);
    void rotateModel(double angle , double x , double y , double z);
    void scalingModel(float scale);
    void setModelMask(bool show);

private:
    osg::ref_ptr<osg::MatrixTransform> tr_ ;
    osg::ref_ptr<osg::Node> model_ ;
    float modelSize{0.22};
    osg::Vec3 modelPosition{0,0,0};
};
}

#endif // MODELNODE_H
